package com.iot.mqtt;

/**
 * Mqtt连接成功回调
 */
public interface MqttListener {
    /**
     * 连接成功
     *
     * @param helper    MqttHelper对象
     * @param serverURI 已连接的uri
     */
    void onConnected(MqttHelper helper, String serverURI);

    /**
     * 消息到达
     *
     * @param topic   主题
     * @param qos
     * @param message 接收到的数据
     */
    void onMessage(String topic, int qos, String message);

    /**
     * 连接断开（此处不要做重新连操作，封装的Mqtt内部已做好重连机制）
     *
     * @param cause Throwable
     */
    void onConnectionLost(Throwable cause);

    /**
     * 消息发送完毕
     *
     * @param topics
     * @param message 消息
     */
    void onDeliveryComplete(String[] topics, String message);
}
